package br.com.sgpv2.service.dependentes;

import java.util.List;

import br.com.sgpv2.controler.NegocioExeception;
import br.com.sgpv2.entity.dependente.Dependente;
import br.com.sgpv2.entity.pessoa.Pessoa;

public interface DependenteService {

	/** Método que salva uma entidade Dependente no banco de dados. */
	Dependente salvar(Dependente dependente) throws Exception;

	/** Método que altera uma entidade Dependente no banco de dados. */
	void alterar(Dependente dependente);

	/** Método que lista todas as entidades Dependente do banco de dados. */
	List<Dependente> listar() throws Exception;

	/** Método que remove uma entidade Dependente no banco de dados. */
	void remover(Dependente dependente) throws Exception;

	/** Método que busca uma entidade Dependente do banco de dados. */
	Dependente buscar(Integer pk) throws NegocioExeception;

	/** Método que consulta todos os dependentes de uma pessoa(titular). */
	List<Dependente> consultarPorTitular(Pessoa pessoa)
			throws NegocioExeception;

	/** Método que altera o dependente. */
	void saveOrUpdate(Dependente dependente);

}
